﻿#pragma once
#include<stdio.h>
#include<stdlib.h>
#include<assert.h>

typedef int SLTDataType;

typedef struct SListNode
{
	SLTDataType data;//节点存储数据
	struct SListNode* next;//保存下一节点地址的指针
}SLTNode;

void SLPrint(SLTNode* phead);//打印函数

void SLPushBack(SLTNode** pphead, SLTDataType x);//尾插

void SLPushFront(SLTNode** pphead, SLTDataType x);//头插

void SLPopBack(SLTNode** pphead);//尾删

void SLPopFront(SLTNode** pphead);//头删

SLTNode* SLTFind(SLTNode* phead, SLTDataType x);//查找

void SLTInsert(SLTNode** pphead, SLTNode * pos, SLTDataType x);//在指定位置之前插⼊数据

void SLTInsertAfter(SLTNode * pos, SLTDataType x);//在指定位置之后插⼊数据

void SLTErase(SLTNode** pphead, SLTNode* pos);//删除

void SLTEraseAfter(SLTNode * pos);//删除pos之后的结点

void SListDestroy(SLTNode** pphead);//销毁链表
